﻿using MyBlog.Model.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyBlog.Repository
{
    public class UserBlogInfoRepository : IRepository<UserBlogInfo>
    {
        private BlogDBContext _dbContext;
        public UserBlogInfoRepository(BlogDBContext dbContext)
        {
            _dbContext = dbContext;
        }
        public bool Add(UserBlogInfo info)
        {
            _dbContext.UserBlogInfos.Add(info);
            int flag=_dbContext.SaveChanges();
            return flag>0?true:false;
        }

        public bool Delete(int id)
        {
            var info = _dbContext.UserBlogInfos.Find(id);
            if (info != null)
                _dbContext.UserBlogInfos.Remove(info);
            int flag = _dbContext.SaveChanges();
            return flag > 0 ? true : false;
        }

        public UserBlogInfo Get(int id)
        {
            return _dbContext.UserBlogInfos.Find(id); 
        }

        public List<UserBlogInfo> GetAll()
        {
            return _dbContext.UserBlogInfos.ToList();
        }

        public bool Update(UserBlogInfo info)
        {
            var muser = _dbContext.UserBlogInfos.Attach(info); ;
            muser.State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            int flag = _dbContext.SaveChanges();
            return flag > 0 ? true : false;
        }
    }
}
